package com.example.demo.sensitive.dto.response;

import lombok.Data;

import java.time.LocalDateTime;

/**
 * @ClassName CheckResultResponse
 * @Description 检查结果响应对象
 * @Author System
 * @Date 2025/9/19
 **/
@Data
public class CheckResultResponse {

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 关联的任务ID
     */
    private Long taskId;

    /**
     * 任务名称
     */
    private String taskName;

    /**
     * 敏感词ID
     */
    private Long keywordId;

    /**
     * 敏感词内容
     */
    private String keyword;

    /**
     * 敏感词分类
     */
    private String category;

    /**
     * 敏感程度等级
     */
    private Integer level;

    /**
     * 敏感程度等级描述
     */
    private String levelDesc;

    /**
     * 发现的敏感词
     */
    private String sensitiveWord;

    /**
     * 敏感词所在上下文
     */
    private String context;

    /**
     * 等级颜色
     */
    private String levelColor;

    /**
     * 数据库名称
     */
    private String databaseName;

    /**
     * 表名
     */
    private String tableName;

    /**
     * 列名
     */
    private String columnName;

    /**
     * 记录主键值
     */
    private String recordId;

    /**
     * 匹配的上下文
     */
    private String contextContent;

    /**
     * 匹配位置
     */
    private Integer matchPosition;

    /**
     * 匹配长度
     */
    private Integer matchLength;

    /**
     * 查询SQL语句
     */
    private String querySql;

    /**
     * 处理状态
     */
    private String processStatus;

    /**
     * 处理状态描述
     */
    private String processStatusDesc;

    /**
     * 处理说明
     */
    private String processNote;

    /**
     * 是否误报
     */
    private Integer isFalsePositive;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 处理时间
     */
    private LocalDateTime processTime;
    
    // 前端期望的字段名映射
    public String getFullContent() {
        return this.contextContent;
    }
    
    public String getSqlQuery() {
        return this.querySql;
    }
    
    public LocalDateTime getCreatedAt() {
        return this.createTime;
    }
}
